package com.lhh.myspringboot;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.scheduling.annotation.EnableScheduling;


/**
 * @SpringBootApplication 是组合注解 一个注解可以取代多个注解 （以下三个）
 *
 *   @ComponentScan("com.baizhi")
 *   @EnableAutoConfiguration
 *   @Configuration
 *
 *  @Configuration 标记当前类为一个配置类，相当于是工厂环境——xml配置文件
 *
 *  @ComponentScan 组件扫描  等价于<context:component-scan basePackage="">扫描指定的包
 *
 *  创建该包下的所有的类对象   默认扫描路径是 启动类同级的所有包（所以启动类与子包同级）
 *
 * @EnableAutoConfiguration 开启自动配置
 *
 * @MapperScan 以Mybatis的方式创建Dao层的Bean，可以自动扫描包路径下所有的mapper接口，从而不用再在接口上添加任何注解（如@Mapper）。  此包中是接口，Spring 本身只扫实现类，
 *  但 MyBatis 的扫描器扫了接口 。并且扫完接口之后，为接口配了个 BeanDefinition
 *
 *
 * @ServletComponentScan 使用此注解后，
 *  Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、@WebListener注解自动注册，无需其他代码。
 */


@EnableScheduling
@SpringBootApplication
@MapperScan("com.lhh.myspringboot.dao")
public class MySpringbootApplication {

    public static void main(String[] args) {
        SpringApplication.run(MySpringbootApplication.class, args);
    }

}
